package com.atguigu.gmall.payment.service;

import com.atguigu.gmall.model.enums.PaymentType;
import com.atguigu.gmall.model.order.OrderInfo;
import com.atguigu.gmall.model.payment.PaymentInfo;

import java.util.Map;

/**
 * @author Sanmier
 * @create 2020-12-21 18:20
 */
public interface PaymentService {


    //Payment 支付类型  1 支付宝  2 微信
    //保存交易记录
    void savePaymentInfo(OrderInfo orderInfo, PaymentType paymentType);


    //根据第三方交易标号 支付类型查询交易记录
    PaymentInfo getPaymentInfo(String outTradeNo, String name);


    //根据第三方交易标号 支付类型更新交易状态
    void paySuccess(String outTradeNo, String name, Map<String, String> paramMap);


    //根据outTradeNo，支付类型  更新对象
    void updatePaymentInfo(String outTradeNo, String name, PaymentInfo paymentInfo);


    //取消订单
    void closePayment(Long orderId);
}
